//package com.baidu.yyb.actiivitys;
//
//
//import android.content.Intent;
//import android.content.SharedPreferences;
//import android.net.Uri;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.Looper;
//import android.view.View;
//import android.widget.AdapterView;
//import android.widget.Button;
//import android.widget.CompoundButton;
//import android.widget.EditText;
//import android.widget.LinearLayout;
//import android.widget.ProgressBar;
//import android.widget.SeekBar;
//import android.widget.Spinner;
//import android.widget.Switch;
//import android.widget.TextView;
//import android.widget.ToggleButton;
//
//import androidx.annotation.NonNull;
//import androidx.annotation.RequiresApi;
//import androidx.appcompat.app.AppCompatActivity;
//
//import com.baidu.yyb.R;
//import com.baidu.yyb.core.TTS.AudioUtils;
//
//import java.io.DataOutputStream;
//import java.io.IOException;
//import java.io.OutputStream;
//import java.net.Socket;
//import java.util.ArrayList;
//
//public class Activity_Settings extends AppCompatActivity implements Runnable {
//    private SharedPreferences msp, ipData;
//    private boolean t, t1, t2;
//    private Switch aSwitch, switch1;
//    private Button m_btn_ret, confirm_btn;
//    private long LastTouchTime;
//    private Spinner sprType;
//    private SeekBar seekBarYL;
//    private SeekBar seekBarYS;
//    private SeekBar seekBarYD;
//    private TtsDataSetting ttsData;
//    private Button btn_yuanma, btn_Upload, btn_Synchronous, btn_set_ip;
//    private TextView tv1, tv2, tv3;
//    private ToggleButton btn_toggle;
//    private int a, b, c, d, port;
//    private EditText text1, text2;
//    private LinearLayout setShow;
//    private DAO db;
//    private TextView btn_lost, textError;
//    private String ip;
//    private Socket client;
//    private ArrayList<NotesClassData> notesClassDatas;
//    private boolean isSocketConnect = true;
//    private ProgressBar pBackUp, pDown;
//    private int max = -1;
//    Handler handler = new Handler(Looper.myLooper()) {
//        @RequiresApi(api = Build.VERSION_CODES.N)
//        @Override
//        //TODO handler
//        public void handleMessage(@NonNull Message msg) {
//            super.handleMessage(msg);
//            switch (msg.what) {
//                case 0x10:
//                    new ShowToast(0, Activity_Settings.this, "没有数据，请稍后重试").showTT();
//                    break;
//                case 0x11:
//                    new ShowToast(0, Activity_Settings.this, "连接成功").showTT();
//                    break;
//                case 0x22:
//                    new ShowToast(0, Activity_Settings.this, "未连接服务器,请稍后重试").showTT();
//                    break;
//                case 0x33:
//                    max = (Integer) msg.obj;
//                    pBackUp.setMax(max);
//                    break;
//                case 0x30:
//                    pBackUp.setProgress(0, true);
//                    break;
//                case 0x31:
//                    pBackUp.setProgress(max / 2, true);
//                    break;
//                case 0x32:
//                    pBackUp.setProgress(max, true);
//                    new ShowToast(0, Activity_Settings.this, "传输完成").showTT();
//                    break;
//                case 0x55:
//                    max = (Integer) msg.obj;
//                    pDown.setMax(max);
//                    break;
//                case 0x50:
//                    pDown.setProgress(0, true);
//                    break;
//                case 0x51:
//                    pDown.setProgress(max / 2, true);
//                    break;
//                case 0x52:
//                    pDown.setProgress(max, true);
//                    break;
//                case 0xa0:
//                    new ShowToast(0, Activity_Settings.this, "频繁操作").showTT();
//                    break;
//                case 0xa1:
//                    new ShowToast(0, Activity_Settings.this, "上传成功，请稍后重试").showTT();
//                    break;
//                case 0xa2:
//                    new ShowToast(0, Activity_Settings.this, "数据下载完成").showTT();
//                    break;
//
//            }
//        }
//    };
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_settings);
//        SetData();
//        initView();
//        tv1.setText(String.valueOf(b));
//        tv2.setText(String.valueOf(c));
//        tv3.setText(String.valueOf(d));
//        setMyOnclick();
//        db = new DAO(this);
//    }
//
//    private void SetData() {
//        msp = getSharedPreferences("MySwitch", MODE_PRIVATE);
//        t = msp.getBoolean("switch", false);
//        t1 = msp.getBoolean("IsLock", false);
//        t2 = msp.getBoolean("isWHY", false);
//        a = msp.getInt("voiceSelect", 1);
//        b = msp.getInt("voiceYL", 5);
//        c = msp.getInt("voiceYS", 5);
//        d = msp.getInt("voiceYD", 5);
//        ttsData = new TtsDataSetting(a, b, c, d);
//        AudioUtils.getInstance().getParameters(ttsData);
//        AudioUtils.getInstance().initTTs(this);
//        ipData = getSharedPreferences("IpData", MODE_PRIVATE);
//        ip = ipData.getString("ip", "127.0.0.1");
//        port = ipData.getInt("port", 12345);
//        new Thread(this::run).start();
//    }
//
//    private boolean isDouble() {
//        long FirstTouchTime = System.currentTimeMillis();
//        if (Math.abs(FirstTouchTime - LastTouchTime) < 500) {
//            return false;
//        }
//        LastTouchTime = FirstTouchTime;
//        return true;
//    }
//
//    private void setMyOnclick() {
//        MyOnclick myOnclick = new MyOnclick();
//        aSwitch.setOnCheckedChangeListener(myOnclick);
//        switch1.setOnCheckedChangeListener(myOnclick);
//        m_btn_ret.setOnClickListener(myOnclick);
//        sprType.setOnItemSelectedListener(myOnclick);
//        seekBarYL.setOnSeekBarChangeListener(myOnclick);
//        seekBarYS.setOnSeekBarChangeListener(myOnclick);
//        seekBarYD.setOnSeekBarChangeListener(myOnclick);
//        btn_toggle.setOnCheckedChangeListener(myOnclick);
//        btn_lost.setOnClickListener(myOnclick);
//        btn_yuanma.setOnClickListener(myOnclick);
//        btn_Synchronous.setOnClickListener(myOnclick);
//        btn_Upload.setOnClickListener(myOnclick);
//        confirm_btn.setOnClickListener(myOnclick);
//        btn_set_ip.setOnClickListener(myOnclick);
//    }
//
//    private void initView() {
//        switch1 = findViewById(R.id.why);//问候语
//        aSwitch = findViewById(R.id.sw2);//指纹解锁
//        m_btn_ret = findViewById(R.id.btn_ret);
//        sprType = findViewById(R.id.SprSelect);
//        seekBarYL = findViewById(R.id.seekBarYL);
//        seekBarYS = findViewById(R.id.seekBarYS);
//        seekBarYD = findViewById(R.id.seekBarYD);
//        tv1 = findViewById(R.id.textVoice);
//        tv2 = findViewById(R.id.textSpeech);
//        tv3 = findViewById(R.id.textTon);
//        sprType.setSelection(ttsData.Voice_Select);
//        seekBarYL.setProgress(ttsData.Voice_volume);
//        seekBarYD.setProgress(ttsData.Voice_tone);
//        seekBarYS.setProgress(ttsData.Voice_speed);
//        aSwitch.setChecked(t1);
//        switch1.setChecked(t2);
//        btn_toggle = findViewById(R.id.set_btn_text);
//        text1 = findViewById(R.id.set_tv1);
//        text2 = findViewById(R.id.set_tv2);
//        confirm_btn = findViewById(R.id.set_update);
//        setShow = findViewById(R.id.set_show);
//        textError = findViewById(R.id.set_error);
//        btn_lost = findViewById(R.id.lost);
//        btn_yuanma = findViewById(R.id.btn_yuanma);
//        btn_Upload = findViewById(R.id.Upload_data);
//        btn_Synchronous = findViewById(R.id.Synchronous_data);
//        btn_set_ip = findViewById(R.id.set_btn_ip);
//        pBackUp = findViewById(R.id.PBackUP);
//        pDown = findViewById(R.id.PDown);
//
//
//    }
//
//    @Override
//    public void run() {
//        boolean fStart = false;
//        try {
//            client = new Socket(ip, port);
//            fStart = true;
//        } catch (IOException e) {
//            e.printStackTrace();
//            fStart = false;
//            CloseUtil.CloseAll(client);
//            isSocketConnect = false;
//        }
//        if (fStart) {
//            handler.sendEmptyMessage(0x11);
//        } else {
//            handler.sendEmptyMessage(0x22);
//        }
//
//    }
//
//    private class MyOnclick implements View.OnClickListener, CompoundButton.OnCheckedChangeListener, AdapterView.OnItemSelectedListener, SeekBar.OnSeekBarChangeListener {
//
//        @Override
//        public void onClick(View v) {
//            switch (v.getId()) {
//                case R.id.btn_ret://TODO 返回
//                    if (isDouble()) {
//                        Intent intent = new Intent(Activity_Settings.this, MainActivity.class);
//                        startActivity(intent);
//                        finish();
//                    }
//                    break;
//                case R.id.set_update://TODO 修改
//                    if (isDouble()) {
//                        if (db.IsRight(String.valueOf(text1.getText()))) {
//                            setShow.setVisibility(View.GONE);
//                            textError.setText("");
//                            btn_toggle.setChecked(false);
//                            if (text2.getText().toString().length() >= 6) {
//                                db.changMM(String.valueOf(text1.getText()), String.valueOf(text2.getText()));
//                                text1.setText("");
//                                text2.setText("");
//                                new ShowToast(0, Activity_Settings.this, "修改成功").showTT();
//                            } else {
//                                new ShowToast(0, Activity_Settings.this, "密码长度至少为6位").showTT();
//                                return;
//                            }
//                        } else if (String.valueOf(text1.getText()).isEmpty() || String.valueOf(text2.getText()).isEmpty()) {
//                            textError.setText("密码不能为空");
//
//                        } else {
//                            textError.setText("原密码错误，请重新输入");
//                        }
//                    }
//                    break;
//                case R.id.lost://TODO 找回密码
//                    if (isDouble()) {
//                        MyDialog myLostDialog = new MyDialog(Activity_Settings.this, 1);
//                        myLostDialog.setCancelListen(new MyDialog.CancelListen() {
//                            @Override
//                            public void OnCancel(MyDialog myDialog) {
//                                myDialog.cancel();
//
//                            }
//                        }).setConfirmListen(new MyDialog.ConfirmListen() {
//                            @Override
//                            public void OnConfirm(MyDialog myDialog) {
//                                if (myLostDialog.getEditText().equals(db.getPhoneId())) {
//                                    new ShowToast(0, Activity_Settings.this, db.getMM()).showTT();
//                                    myDialog.cancel();
//                                } else {
//                                    myLostDialog.setError_msg("手机号不正确，请重新输入");
//                                }
//                            }
//                        }).show();
//                    }
//                    break;
//                case R.id.btn_yuanma:
//                    if (isDouble()) {
//                        Uri uri = Uri.parse("https://gitee.com/liuyixuan51122/memorandum.git");
//                        Intent intentUrl = new Intent(Intent.ACTION_VIEW, uri);
//                        startActivity(intentUrl);
//                    }
//                    break;
//                case R.id.set_btn_ip:
//                    if (isDouble()) {
//                        Intent intent = new Intent(Activity_Settings.this, Activity_data_Backup.class);
//                        startActivity(intent);
//                        finish();
//                    }
//                    break;
//                case R.id.Upload_data:
//                    //TODO
//                    if (pBackUp.getProgress() != 0) {
//                        handler.sendEmptyMessage(0Xa0);
//                    }
//                    //上传数据到服务器 TODO
//                    if (pBackUp.getProgress() == 0) {
//                        if (client != null) {
//                            notesClassDatas = new ArrayList<>();
//                            notesClassDatas = db.findAllNotes();
//                            ArrayListToJson atj = new ArrayListToJson(notesClassDatas);
//                            ArrayList<String> strings = atj.getJsonStrings();
//                            Upload upload = new Upload(Activity_Settings.this, strings, client, handler);
//                            new Thread(upload).start();
//                        } else {
//                            new ShowToast(0, Activity_Settings.this, "未连接服务器,请稍后再试").showTT();
//                            CloseUtil.CloseAll(client);
//                        }
//                    }
//                    break;
//                case R.id.Synchronous_data:
//                    //从服务器下载数据 TODO
//                    if (pDown.getProgress() != 0) {
//                        handler.sendEmptyMessage(0Xa0);
//                    }
//                    if (pDown.getProgress() == 0) {
//                        if (client != null) {
//                            new Thread(new Runnable() {
//                                @Override
//                                public void run() {
//                                    boolean isSend = SendBackUp();
//                                }
//                            }).start();
//                            Download download = new Download(Activity_Settings.this, handler, client);
//                            new Thread(download).start();
//
//                        } else {
//                            new ShowToast(0, Activity_Settings.this, "未连接服务器,请稍后重试").showTT();
//                            CloseUtil.CloseAll(client);
//                        }
//                    }
//                    break;
//            }
//        }
//
//        public boolean SendBackUp() {
//            boolean fS = true;
//            NoteBackUpClass noteBackUpClass = new NoteBackUpClass(db.getZZ(), "BACKUP");
//            ArrayListToJson arrayListToJson = new ArrayListToJson(noteBackUpClass);
//            arrayListToJson.getDownLoadString();
//            DataOutputStream dos = null;
//            OutputStream os = null;
//            if (client != null) {
//                try {
//                    os = client.getOutputStream();
//                    dos = new DataOutputStream(os);
//                    dos.writeUTF(arrayListToJson.getDownLoadString());
//                } catch (IOException e) {
//                    CloseUtil.CloseAll(dos, os, client);
//                    fS = false;
//                    handler.sendEmptyMessage(0x22);
//                    e.printStackTrace();
//                }
//            }
//            return fS;
//        }
//
//        @Override
//        public void onCheckedChanged(CompoundButton v, boolean isChecked) {
//
//            switch (v.getId()) {
//                case R.id.set_btn_text:
//                    if (v.isChecked()) {
//                        setShow.setVisibility(View.VISIBLE);
//                    } else {
//                        setShow.setVisibility(View.GONE);
//                    }
//                    break;
//                case R.id.sw2:
//                    if (v.isChecked()) {
//                        msp.edit().putBoolean("IsLock", true).apply();
//                    } else {
//                        msp.edit().putBoolean("IsLock", false).apply();
//                    }
//                    break;
//                case R.id.why:
//                    if (v.isChecked()) {
//                        msp.edit().putBoolean("isWHY", true).apply();
//                    } else {
//                        msp.edit().putBoolean("isWHY", false).apply();
//                    }
//                    break;
//            }
//        }
//
//        @Override
//        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//            msp.edit().putInt("voiceSelect", position).apply();
//            AudioUtils.getInstance().getSelect(position);
//            AudioUtils.getInstance().initTTs(Activity_Settings.this);
//        }
//
//        @Override
//        public void onNothingSelected(AdapterView<?> parent) {
//
//        }
//
//        @Override
//        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//            switch (seekBar.getId()) {
//                case R.id.seekBarYL:
//                    msp.edit().putInt("voiceYL", progress).apply();
//                    tv1.setText(String.valueOf(progress));
//                    AudioUtils.getInstance().getVolume(progress);
//                    break;
//                case R.id.seekBarYS:
//                    msp.edit().putInt("voiceYS", progress).apply();
//                    AudioUtils.getInstance().getSpeech(progress);
//                    tv2.setText(String.valueOf(progress));
//                    break;
//                case R.id.seekBarYD:
//                    msp.edit().putInt("voiceYD", progress).apply();
//                    AudioUtils.getInstance().getTon(progress);
//                    tv3.setText(String.valueOf(progress));
//                    break;
//            }
//            AudioUtils.getInstance().initTTs(Activity_Settings.this);
//        }
//
//        @Override
//        public void onStartTrackingTouch(SeekBar seekBar) {
//
//        }
//
//        @Override
//        public void onStopTrackingTouch(SeekBar seekBar) {
//
//        }
//    }
//
//
//}